/* flags in flags parameter of MediaSetHandlerCapabilities function */
enum {
handlerHasSpatial = 1<<0, /* draws */
handlerCanClip = 1<<1, /* clips */
handlerCanMatte = 1<<2, /* reserved */
handlerCanTransferMode = 1<<3, /* does transfer modes */
handlerNeedsBuffer = 1<<4, /* use offscreen buffer */
handlerNoIdle = 1<<5, /* never draws */
handlerNoScheduler = 1<<6, /* schedules self */
handlerWantsTime = 1<<7, /* needs more time */
handlerCGrafPortOnly = 1<<8 /* color only */
};
/* values for inFlags parameter of MediaIdle function */
enum {
mMustDraw = 1<<3, /* must draw now */
mAtEnd = 1<<4, /* current time corresponds to
end of movie */
mPreflightDraw = 1<<5 /* must not draw */
};
/* values for outFlags parameter of MediaIdle function */
enum {
mDidDraw = 1<<0, /* did draw */
mNeedsToDraw = 1<<2 /* needs to draw */
};
/* component type and subtype values */
#define MediaHandlerType 'mhlr' /* derived media handler */
#define BaseMediaType 'gnrc' /* base media handler */
/* constants used in the characteristic parameter of the
MediaHasCharacteristic function */
#define VisualMediaCharacteristic 'eyes' /* visual media characteristic */
#define AudioMediaCharacteristic 'ears' /* audio media characteristic */
/* selectors for derived media handler components */
enum {
enum {
kMediaInitializeSelect = 0x501, /* MediaInitialize */
kMediaSetHandlerCapabilitiesSelect = 0x502,
/* MediaSetHandlerCapabilities */
kMediaIdleSelect = 0x503, /* MediaIdle */
kMediaGetMediaInfoSelect = 0x504, /* MediaGetMediaInfo */
kMediaPutMediaInfoSelect = 0x505, /* MediaPutMediaInfo */
kMediaSetActiveSelect = 0x506, /* MediaSetActive */
kMediaSetRateSelect = 0x507, /* MediaSetRate */
kMediaGGetStatusSelect = 0x508, /* MediaGGetStatus */
kMediaTrackEditedSelect = 0x509, /* MediaTrackEdited */
kMediaSetMediaTimeScaleSelect = 0x50A, /* MediaSetMediaTimeScale */
kMediaSetMovieTimeScaleSelect = 0x50B, /* MediaSetMovieTimeScale */
kMediaSetGWorldSelect = 0x50C, /* MediaSetGWorld */
kMediaSetDimensionsSelect = 0x50D, /* MediaSetDimensions */
kMediaSetClipSelect = 0x50E, /* MediaSetClip */
kMediaSetMatrixSelect = 0x50F, /* MediaSetMatrix */
kMediaGetTrackOpaqueSelect = 0x510, /* MediaGetTrackOpaque */
kMediaSetGraphicsModeSelect = 0x511, /* MediaSetGraphicsMode */
kMediaGetGraphicsModeSelect = 0x512, /* MediaGetGraphicsMode */
kMediaGSetVolumeSelect = 0x513, /* MediaGSetVolume */
kMediaSetSoundBalanceSelect = 0x514, /* MediaSetSoundBalance */
kMediaGetSoundBalanceSelect = 0x515, /* MediaGetSoundBalance */
kMediaGetNextBoundsChangeSelect = 0x516,
/* MediaGetNextBoundsChange */
kMediaGetSrcRgnSelect = 0x517, /* MediaGetSrcRgn */
kMediaPrerollSelect = 0x518, /* MediaPreroll */
kMediaSampleDescriptionChangedSelect = 0x519,
/* MediaSampleDescriptionChanged */
kMediaHasCharacteristicSelect = 0x51A /* MediaHasCharacteristic */
};